namespace IAM.Interface.Common.Context
{
    using IAM.Interface.Model;
    using IAM.Interface.Model.ENUM;
    using System;

    public class RequestContextModel
    {
        private IAM.Interface.Model.ENUM.ActionType _actiontype = IAM.Interface.Model.ENUM.ActionType.AUDIT_FETCH;
        private object _obj = null;
        private IAM.Interface.Model.ENUM.OperationType _operationtype = IAM.Interface.Model.ENUM.OperationType.Create;
        private Type _returnType = null;
        private TransmissionParameter _tranpar = null;

        public RequestContextModel(IAM.Interface.Model.ENUM.ActionType actiontype, IAM.Interface.Model.ENUM.OperationType operationtype, object obj, Type returnType, TransmissionParameter tranpar)
        {
            this._actiontype = actiontype;
            this._operationtype = operationtype;
            this._obj = obj;
            this._returnType = returnType;
            this._tranpar = tranpar;
        }

        public IAM.Interface.Model.ENUM.ActionType ActionType
        {
            get
            {
                return this._actiontype;
            }
            set
            {
                this._actiontype = value;
            }
        }

        public object Obj
        {
            get
            {
                return this._obj;
            }
            set
            {
                this._obj = value;
            }
        }

        public IAM.Interface.Model.ENUM.OperationType OperationType
        {
            get
            {
                return this._operationtype;
            }
            set
            {
                this._operationtype = value;
            }
        }

        public Type ReturnType
        {
            get
            {
                return this._returnType;
            }
            set
            {
                this._returnType = value;
            }
        }

        public TransmissionParameter TranPar
        {
            get
            {
                return this._tranpar;
            }
            set
            {
                this._tranpar = value;
            }
        }
    }
}
